/*  通过MYSQL数据库———用户信息管理——更新or删除 */
#include "head.h"

int mysql_delete(MYSQL **mysql, int id)
{
    char query[32] = {0};
    sprintf(query, "delete from info where id=%d", id);

    if (mysql_real_query(*mysql, query, strlen(query))) // mysql_real_query()函数是执行sql操作语句的函数
    {                                                   // 3.查询表（argv[2]）的所有数据
        printf("%s\n", mysql_error(*mysql));
        mysql_close(*mysql);
        return -1;
    }
    printf("删除成功\n");
    return 1;
}

int mysql_modfiy(MYSQL **mysql, char a[16], int id)
{
    char query[83] = {0};
    sprintf(query, "update info set pass='%s' where id=%d", a, id);
    if (mysql_real_query(*mysql, query, strlen(query))) // mysql_real_query()函数是执行sql操作语句的函数
    {                                                   // 3.查询表（argv[2]）的所有数据
        printf("%s\n", mysql_error(*mysql));
        mysql_close(*mysql);
        return -1;
    }
    printf("修改密码成功\n");
    return 1;
}

int info_3(int sockfd_2, int id)
{
    int i = 0;
    char a[16] = {0};
    char buf[6] = {0};
    char buf_1[16] = {"注册信息"};
    if (-1 == send(sockfd_2, "请输入要进行的选项:", 33, 0))
    {
        perror("send");
        close(sockfd_2);
        exit(-1);
    }
    i = recv(sockfd_2, buf, sizeof(buf), 0); // 接收要user操作
    if (i < 0)
    {
        perror("recv");
        return -1;
    }
    i = atoi(buf);

    
    MYSQL *mysql = mysql_op(buf_1);

    
    switch (i)
    {
    case 1:
    {
        printf("进入注销用户账号\n");
        int i = mysql_delete(&mysql, id);
        if (i == 1)
        {
            if (-1 == send(sockfd_2, "注销账号成功", 25, 0))
            {
                perror("send");
                close(sockfd_2);
            }
        }
        else
        {
            if (-1 == send(sockfd_2, "注销账号失败", 25, 0))
            {
                perror("send");
                close(sockfd_2);
                exit(0);
            }
        }
    }
    break;
    case 2:
    {
        printf("进入修改信息...\n");
        if (-1 == send(sockfd_2, "请输入要修改成的密码", 32, 0))
        {
            perror("send");
            close(sockfd_2);
        }
        printf("接收新密码\n");
        int i = recv(sockfd_2, a, sizeof(a), 0); // 接收新密码
        if (i < 0)
        {
            perror("recv");
            return -1;
        }
        if (1 == mysql_modfiy(&mysql, a, id))
        {
            if (-1 == send(sockfd_2, "修改密码成功", 25, 0))
            {
                perror("send");
                close(sockfd_2);
            }
        }
        else
        {
            if (-1 == send(sockfd_2, "修改密码失败", 25, 0))
            {
                perror("send");
                close(sockfd_2);
            }
            return 0;
        }
    }
    break;
    }

    mysql_close(mysql);
    return 0;
}
